package com.yxx.business.entity;

import com.yxx.common.annotation.Excel;
import com.yxx.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.experimental.Accessors;
import lombok.*;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 拆除处置阶段Vo对象 tb_demolition_phase
 *
 * @author yxx
 * @date 2025-08-16
 */
@Schema(description = "拆除处置阶段Vo实体")
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Builder
@Data
public class TbDemolitionPhaseVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "表ID")
    private Long demolitionId;

    @Schema(description = "项目ID")
    @NotNull(message = "项目ID不能为空")
    @Excel(name = "项目ID")
    private Long projectId;

    @Schema(description = "工程ID")
    @NotNull(message = "工程ID不能为空")
    @Excel(name = "工程ID")
    private Long engineeringId;

    @Schema(description = "设备信息ID集合（逗号分隔）")
    @Excel(name = "设备信息ID集合", readConverterExp = "逗=号分隔")
    private String equipmentInfoIds;

    @Schema(description = "人员排放ID")
    @Excel(name = "人员排放ID")
    private Long personnelEmissionId;

    @Schema(description = "废物运输信息ID集合（逗号分隔）")
    @Excel(name = "废物运输信息ID集合", readConverterExp = "逗=号分隔")
    private String wasteTransportIds;

    @Schema(description = "碳排放量(kgCO2e)")
    @Excel(name = "碳排放量(kgCO2e)")
    private BigDecimal totalEmission;

    @Schema(description = "更新者id")
    private Long createById;

    @Schema(description = "更新者id")
    private Long updateById;

}
